---
layout: default
---

<!-- Image to hack wechat -->
<!-- <img src="/img/icon_wechat.png" width="0" height="0"> -->
<!-- <img src="{{ site.baseurl }}/{% if page.header-img %}{{ page.header-img }}{% else %}{{ site.header-img }}{% endif %}" width="0" height="0"> -->

<!-- Post Header -->
{% include intro-header.html type='post' %}

<!-- Post Content -->
<article>
    <div class="container">
        <div class="row">

    <!-- Post Container -->
            <div class="
                col-lg-8 col-lg-offset-2
                col-md-10 col-md-offset-1
                post-container">

                <!-- Multi-Lingual -->
                {% if page.multilingual %}
                    {% include multilingual-sel.html %}
                {% endif %}

				{{ content }}

                <hr style="visibility: hidden;">
                <ul class="pager">
                    {% if page.previous.url %}
                    <li class="previous">
                        <a href="{{ page.previous.url | prepend: site.baseurl | replace: '//', '/' }}" data-toggle="tooltip" data-placement="top" title="{{page.previous.title}}">
                        Previous<br>
                        <span>{{page.previous.title}}</span>
                        </a>
                    </li>
                    {% endif %}
                    {% if page.next.url %}
                    <li class="next">
                        <a href="{{ page.next.url | prepend: site.baseurl | replace: '//', '/' }}" data-toggle="tooltip" data-placement="top" title="{{page.next.title}}">
                        Next<br>
                        <span>{{page.next.title}}</span>
                        </a>
                    </li>
                    {% endif %}
                </ul>
                <hr style="visibility: hidden;">

                <!-- valine评论 -->
                {% if site.valine_comment.enable %}
                <script src="https://cdnjs.loli.net/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
                <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
                <script src="//unpkg.com/valine/dist/Valine.min.js"></script>

                <center><b>COMMENT BOARD</b></center><br>
                <div id="valine_comment" class="fb_comments_container"></div>
                <script>
                    new Valine({
                        av: AV,
                        el: '#valine_comment',
                        lang: 'en',
                        visitor: true,
                        app_id: '{{ site.valine_comment.leancloud_appid }}',
                        app_key: '{{ site.valine_comment.leancloud_appkey }}',
                        // placeholder: '{{ site.valine_comment.placeholder }}',
                        placeholder: 'Leave your comments here without registration ; )',
                        avatar: 'mp',
                    });
                </script>

                <!-- 酷推机器人提醒 -->
                <script>
                    //检测推送 Skey替换
                    var pushLink = "https://push.xuthus.cc/send/" + '{{ site.cool_push_key }}';
                    var ValineButton = document.getElementsByClassName("vsubmit vbtn")[0];
                    var content = "====新评论====\n";

                    function send_valine() {
                        //获取元素信息
                        var pagename = document.title;
                        var wz = pagename.indexOf("|");
                        var res = pagename.substring(0, wz);
                        var pageurl = document.URL;
                        var ptime = new Date();
                        var vnick = document.getElementsByClassName("vnick vinput")[0].value;
                        var vmail = document.getElementsByClassName("vmail vinput")[0].value;
                        var vlink = document.getElementsByClassName("vlink vinput")[0].value;
                        var veditor = document.getElementsByClassName("veditor vinput")[0].value;
                        content =
                            content +
                            "昵称：" + vnick +
                            "\n邮箱：" + vmail +
                            "\n网站地址：" + vlink +
                            "\n当前页面：" + res +
                            "\n跳转链接：" + pageurl +
                            "\n评论时间" + ptime.toLocaleString() +
                            "\n评论内容：\n" + veditor;
                        var httpRequest = new XMLHttpRequest(); //第一步：创建需要的对象
                        httpRequest.open("POST", pushLink, true); //第二步：打开连接
                        httpRequest.setRequestHeader(
                            "Content-type",
                            "application/json"
                        ); //设置请求头 注：post方式必须设置请求头（在建立连接后设置请求头）
                        httpRequest.send(content); //发送请求 将情头体写在send中
                    }

                    ValineButton.onclick = send_valine;
                </script>

                {% endif %}

                <!--Gitalk评论start  -->
                {% if site.gitalk.enable %}
                <!-- 引入Gitalk评论插件  -->
                <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css">
                <script src="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js"></script>
                <div id="gitalk-container"></div>
                <!-- 引入一个生产md5的js，用于对id值进行处理，防止其过长 -->
                <!-- Thank DF:https://github.com/NSDingFan/NSDingFan.github.io/issues/3#issuecomment-407496538 -->
<!--                <script src="{{ site.baseurl }}/js/md5.min.js"></script>-->
                <script type="text/javascript">
                    var gitalk = new Gitalk({
                        clientID: '{{site.gitalk.clientID}}',
                        clientSecret: '{{site.gitalk.clientSecret}}',
                        repo: '{{site.gitalk.repo}}',
                        owner: '{{site.gitalk.owner}}',
                        admin: ['{{site.gitalk.admin}}'],
                        distractionFreeMode: {{site.gitalk.distractionFreeMode}},
                        id: location.pathname,
                    // id: md5(location.pathname),
                    });
                    gitalk.render('gitalk-container');
                </script>
                {% endif %}
                <!-- Gitalk end -->


                {% if site.disqus_username %}
                <!-- disqus 评论框 start -->
                <div class="comment">
                    <div id="disqus_thread" class="disqus-thread"></div>
                </div>
                <!-- disqus 评论框 end -->
                {% endif %}

                {% if site.netease_comment %}
                <!-- 网易云跟帖 评论框 start -->
                <div id="cloud-tie-wrapper" class="cloud-tie-wrapper"></div>
                <!-- 网易云跟帖 评论框 end -->
                {% endif %}
            </div>

    <!-- Side Catalog Container -->
        {% unless page.no-catalog %}
            <div class="
                col-lg-2 col-lg-offset-0
                visible-lg-block
                sidebar-container
                catalog-container">
                <div class="side-catalog">
                    <hr class="hidden-sm hidden-xs">
                    <h5>
                        <a class="catalog-toggle" href="#">CATALOG</a>
                    </h5>
                    <ul class="catalog-body"></ul>
                </div>
            </div>
        {% endunless %}

    <!-- Sidebar Container -->
            <div class="
                col-lg-8 col-lg-offset-2
                col-md-10 col-md-offset-1
                sidebar-container">

                <!-- Featured Tags -->
                {% include featured-tags.html bottom=true %}

                <!-- Friends Blog -->
                {% include friends.html %}
            </div>
        </div>
    </div>
</article>

<!-- add support for mathjax by voleking-->
{% if page.mathjax %}
  {% include mathjax_support.html %}
{% endif %}

{% if site.netease_comment %}
<!-- 网易云跟帖JS代码 start -->
<script src="https://img1.cache.netease.com/f2e/tie/yun/sdk/loader.js"></script>
<script>
  var cloudTieConfig = {
    url: document.location.href,
    sourceId: "",
    productKey: "de25fc98a6fe48b3bc8a7ae765da99a0",
    target: "cloud-tie-wrapper"
  };
  var yunManualLoad = true;
  Tie.loader("aHR0cHM6Ly9hcGkuZ2VudGllLjE2My5jb20vcGMvbGl2ZXNjcmlwdC5odG1s", true);
</script>
<!-- 网易云跟帖JS代码 end -->
{% endif %}


{% if site.disqus_username %}
<!-- disqus 公共JS代码 start (一个网页只需插入一次) -->
<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES * * */
    var disqus_shortname = "{{site.disqus_username}}";
    var disqus_identifier = "{{page.id}}";
    var disqus_url = "{{site.url}}{{page.url}}";

    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<!-- disqus 公共JS代码 end -->
{% endif %}


{% if site.anchorjs %}
<!-- async load function -->
<script>
    function async(u, c) {
      var d = document, t = 'script',
          o = d.createElement(t),
          s = d.getElementsByTagName(t)[0];
      o.src = u;
      if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); }
      s.parentNode.insertBefore(o, s);
    }
</script>
<!-- anchor-js, Doc:http://bryanbraun.github.io/anchorjs/ -->
<script>
    async("//cdnjs.cloudflare.com/ajax/libs/anchor-js/1.1.1/anchor.min.js",function(){
        anchors.options = {
          visible: 'hover',
          placement: 'right',
          // icon: '#'
        };
        anchors.add().remove('.intro-header h1').remove('.subheading').remove('.sidebar-container h5');
    })
</script>
<style>
    /* place left on bigger screen */
    @media all and (min-width: 800px) {
        .anchorjs-link{
            position: absolute;
            left: -0.75em;
            font-size: 1.1em;
            margin-top : -0.1em;
        }
    }
</style>
{% endif %}
